package org.rain.common;

import org.rain.common.exception.BaseException;
import org.rain.common.model.LoginUser;

import java.util.List;
import java.util.Map;

/**
 * created by yangtong on 2025/4/8 16:32:10
 * <br/>
 * 一些对外暴露的公共API
 */
public interface CommonApi {

    /**
     * 返回当前用户
     */
    LoginUser getCurrent() throws BaseException;

    /**
     * 返回当前用户的角色
     */
    List<String> getCurrentRoleCodes();

    /**
     * 返回指定字典项的文本数据
     * @param dictCode 字典code
     * @param dictValue 字典项value
     * @return 指定字典项文本
     */
    String getDictText(String dictCode, String dictValue);

    /**
     * 查询指定表，指定字段为指定值的数据
     * @param table 指定表
     * @param column 指定列
     * @param value 指定列为指定值
     * @param queryColumnArr 查询字段
     * @return 结果集
     */
    List<Map<String, Object>> queryColumn(String table, String column, List<?> value, String... queryColumnArr);

    /**
     * 返回当前系统配置
     */
    String getSysConfig();

}
